package com.ghy.ic.mo.utils;

import com.google.common.collect.Lists;
import org.joda.time.DateTime;

import java.util.Date;
import java.util.List;

/**
 * 时间工具类
 * @author ytree
 */
public class JodaTimeUtil {

    /**
     * 获取当前时间（String） "2018-08-09T15:55:12.670+08:00"
     * @return String
     */
    public static String getCurrentDateTime(){

        DateTime dt = new DateTime();
        return dt.toString("yyyy-MM-dd HH:mm:ss");
    }

    /**
     * 获取当前时间（DateTime） 2018-08-09T15:55:12.670+08:00
     * @return DateTime
     */
    public static DateTime getCurrentTimeOfDateTime(){

        return new DateTime();
    }

    /**
     * Date转String
     * @param date java.util.Date
     * @return String
     */
    public static String date2String(Date date){

        DateTime dt = new DateTime(date);
        return dt.toString("yyyy-MM-dd HH:mm:ss");
    }

    /**
     * Date转String
     * @param date java.util.Date
     * @return String
     */
    public static String date2String2(Date date){

        DateTime dt = new DateTime(date);
        return dt.toString("yyyyMMddHHmmss");
    }

    /**
     * 获取几天天后的日期
     * @return String
     */
    public static String getAFewDaysLaterDate(int days){

        DateTime dt = new DateTime().plusDays(days);
        return dt.toString("yyy-MM-dd");
    }

    /**
     * 获取时间戳
     * @return long
     */
    public static long getCurrentDateTimeOfTimestamp(){

        DateTime dt = new DateTime();
        return dt.getMillis();
    }

    /**
     * 获取连续天数的字符串日期
     * @param days 天数
     * @return List<String>
     */
    public static List<String> getContinuousDate(int days){

        List<String> dateList = Lists.newArrayList();
        if(days >= 0){
            for (int i=0; i<days; i++){
                dateList.add(new DateTime().plusDays(i).toString("yyyy-MM-dd"));
            }
        }else {
            return dateList;
        }
        return dateList;
    }
}
